package com.rain.user.dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import com.rain.user.pojo.User;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

/**
 * 数据访问接口
 * @author Administrator
 *
 */
public interface UserDao extends JpaRepository<User,String>,JpaSpecificationExecutor<User>{

    /**
     * 根据手机号查询
     * @param mobile
     * @return
     */
    User findByMobile(String mobile);

    /**
     * 更新用户粉丝数
     * @param userid  用户的id
     * @param fans    粉丝数量 （它只能是1 或者-1）
     */
    @Query("update User  u set u.fanscount = u.fanscount+?2 where id = ?1 ")
    @Modifying
    void incFanscount(String userid,int fans);

    /**
     * 更新用户关注数
     * @param userid 用户的id
     * @param follow 关注数量  （它也只能是1和-1两个取值）
     */
    @Query("update User  u set u.followcount = u.followcount+?2 where id = ?1 ")
    @Modifying
    void incFollowcount(String userid,int follow);

}
